#include"processBar.h"

#include<unistd.h>

const char* lable = "|/-\\";

char bar[NUM] = {0};

//v2 进度条调用场景
void processbar(int rate)
{
    if(rate < 0 || rate > TOP)
        return;

    int len = strlen(lable);
    printf("[%-100s][%d%%]"GREEN"[%c]"NONE"\r",bar,rate,lable[rate%len]);
    fflush(stdout);

    bar[rate++] = BODY;
    if(rate < TOP)  bar[rate] = RIGHT;
}

void initbar()
{
    memset(bar,'\0',sizeof(bar));
}


//v1

//也可以再写个函数传速度和比率
//这个函数只负责处理风格
//void processbar()
//{
//    char bar[NUM]; //改成全局的
//    memset(bar,'\0',sizeof(bar));
//
//    int len = strlen(lable);
//    int cnt = 0;
//    while(cnt <= 100)
//    {
//        printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]); //显示器模式是行刷新，需要手动刷新缓冲区
//        bar[cnt++] = BODY;
//        if(cnt < TOP)
//            bar[cnt] = RIGHT;
//
//        usleep(speed);
//        fflush(stdout);
//    }
//   printf("\n");
//}
//


